home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / data / fapx / fapxentr.plp < prev    next >
Text File  |  1993-07-08  |  5KB  |  190 lines

  1. /************************************************************************
  2. *    フォーラムの入会手続き・ハンドル名・会議室登録番号を変更し、    *
  3. *    会議室の未読数を調整し、未読数調整分をリストアップする処理    *
  4. *        presented by -なる-☆早川 & Yama-chan (93.01.07)    *
  5. *************************************************************************/
  6. var    fname    [8];    /*    ← 入会するフォーラム名            */
  7. var    handle    [16];    /*    ← あなたのハンドル名(省略で変更なし    */
  8.             /*    但し、新規入会は省略すると本名となる)    */
  9. var    boadno    [60];    /*{1,2,3,4,5,6,7,8,9,10,・・・,15,16,17,18,19,20};    */
  10.             /*    ↑ 登録する会議室の番号(省略可)        */
  11. var    mesno    [60];    /*{1,2,3,4,5,6,7,8,9,10,・・・,15,16,17,18,19,20};    */
  12.             /*    ↑ 未読数を調整する会議室番号の指定    */
  13. var    rtno    [3];    /*    ← 未読数を調整する数の指定(0~999)    */
  14.  
  15. %RCRT{
  16.     [fname,boadno,mesno,rtno]
  17.     var    SENDNO1[5];
  18.     var    SENDNO2[5];
  19.     var    SENDNO3[5];
  20.     var    SENDNO4[5];
  21.     var    rxlist[50];
  22.     case(boadno<>{},
  23.         {Yes},
  24.         {
  25.         footnote(fname|{ 会議室登録を }|boadno|{ に設定処理中});
  26.         display({\n}|fname|{ 会議室登録を }|boadno|{\nに設定します\n});
  27.         type({OPT\n});
  28.         WAITCHAR(Wtime2,{ E:終了)\n>},{type({4\n})});
  29.         WAITCHAR(Wtime2,{ 改行で変更せず) \n:},{type(boadno|{\n})});
  30.         wait(Wtime2,{AbortOff({ホストが鈍いよぉ\n})},
  31.             { 改行で変更せず) \n:},
  32.             {type({\n});WAITABORT(Wtime2)},
  33.             {\n>},
  34.             );
  35.         });
  36.  
  37.     case    (mesno<>{}&&rtno<>{},
  38.         {Yes},
  39.         {
  40.         rxlist:=mesno;
  41.         footnote(fname|{ }|rxlist|{ の未読を }|rtno|{ に設定処理中});
  42.         display({\n}|fname|{ }|rxlist|
  43.                 {\nの未読を }|rtno|{ に変更します\n});
  44.         loop    ({
  45.             case(@head(rxlist,{,})={},
  46.                 {Yes},{im({No})},
  47.                 {No},
  48.                 {
  49.                 type({MES }|@head(rxlist,{,})|{\n});
  50.                 wait(Wtime2,{AbortOff({ホストが鈍いよぉ\n})},
  51.                     {正しいコマンドを入力して下さい◆\n},{},
  52.                     {\n>},    {},
  53.                     {-\n電子},
  54.                     {
  55.                     SENDNO1:=@tail(@laststr,{数 :},{ 未});
  56.                     SENDNO2:=SENDNO1-rtno;
  57.                     SENDNO3:=SENDNO1
  58.                         -@tail(@laststr,{読 :},{-\n})
  59.                         +1;
  60.                     SENDNO4:=@tail(@laststr,{読 :},{-\n});
  61.                     WAITABORT(Wtime2);
  62.                     case    (SENDNO4 > rtno,{Yes},
  63.                         {
  64.                         type({RC }|SENDNO2|{\n});
  65.                         WAITABORT(Wtime2);
  66.                         type({RT }|SENDNO3|{-}|
  67.                             SENDNO2|{\n});
  68.                         WAITABORT(Wtime2*10);
  69.                         /* 未読調整分のリストアップ */
  70.                         });
  71.                     });
  72.                 rxlist:=@body(rxlist,{,});    /* 次のmesnoへ */
  73.                 im({Yes});
  74.                 });
  75.             });
  76.         });
  77.     };
  78.  
  79. /*    フォーラムのお知らせを見る    */
  80. %ANN    {
  81.     [fname]
  82.     footnote(fname|{のおしらせ確認します});
  83.     display(fname|{のお知らせをみます\n});
  84.     LOGforum(fname|{\ANN},{start});
  85.     type({SET PAGE OFF\n});WAITABORT(Wtime1);
  86.     type({ANN\n});
  87.     wait(Wtime2,{AbortOff({\nホストの反応が鈍いよぉ~\n})},
  88.         {\n>},
  89.         {
  90.         type({1-\n});
  91.         loop    ({
  92.             wait    (Wtime2*10,
  93.                 {AbortOff({\nホストの反応が鈍いよぉ~\n})},
  94.                 {続き (改行で次文書 E:終了)\n>},
  95.                 {type({\n});im({Yes})},
  96.                 {続き (改行で次頁 S:次文書 E:終了)\n>},
  97.                 {type({\n});im({Yes})},
  98.                 {表示終了\n>},{im({No})});
  99.             });
  100.         },
  101.         {\n-現在情報はありません-\n},{}
  102.         );
  103.     LOGforum(fname|{\ANN},{stop});
  104.     };
  105.  
  106. %FNYUKAI{
  107.     [fname,handle,boadno,mesno,rtno]
  108.     case(DEBUG,{Yes},
  109.         {display({forum=「}|fname|{」\n}|{handle=「}|handle|{」\n}|
  110.             {boadno=「}|boadno|{」\n}|{mesno=「}|mesno|{」\n}|
  111.             {rtno=「}|rtno|{」\n})});
  112.      type({GO }|fname);type({\n});
  113.     case(@FORUMTOP,{NotMember},
  114.         {
  115.         footnote(fname|{ に ハンドル名 }|handle|{ で入会します});
  116.         display({\n}|fname|{ に ハンドル名 }|handle|{ で入会します\n});
  117.         type({3\n});
  118.         WAITCHAR(Wtime2,{ 改行のみ実名)\n:},{type(handle|{\n})});
  119.         WAITCHAR(Wtime2,{ (1:OK  2:NG)\n:},{type({1\n})});
  120.         WAITCHAR(Wtime2,{する  2:しない)\n:},{type({1\n})});
  121.         WAITABORT(Wtime2*3);
  122.         case    (boadno={}&&mesno={}&&rtno={},
  123.             {No},{RCRT(fname,boadno,mesno,rtno);
  124.             });
  125.         ANN(fname);
  126.         },
  127.         {OK},
  128.         {
  129.         case(handle<>{},
  130.             {Yes},
  131.             {
  132.             footnote(fname|{ のハンドル名を }|handle|{ に処理中});
  133.             display({\n}|fname|{ のハンドル名を }|handle|
  134.                 { に変更します\n});
  135.             type({OPT\n});
  136.             WAITCHAR(Wtime2,{ E:終了)\n>},{type({3\n})});
  137.             WAITCHAR(Wtime2,{ 改行で変更せず)\n:},
  138.                     {type(handle);type({\n})});
  139.             wait(Wtime2,{AbortOff({ホストが鈍いよぉ\n})},
  140.                 {-氏名はもとのままです-\n},,
  141.                 { (1:OK  2:NG)\n:},{type({1\n});}
  142.                 );
  143.             WAITABORT(Wtime2);
  144.             });
  145.         case    (boadno={}&&mesno={}&&rtno={},
  146.             {No},{RCRT(fname,boadno,mesno,rtno);
  147.             });
  148.         },
  149.         {Busy},{display({次の処理にスキップします\n})},
  150.         {Maintenance},{display({次の処理にスキップします\n})},
  151.         {forumERROR},{display({次の処理にスキップします\n})}
  152.         );
  153.     display({\n}|fname|{ の処理を完了しました\n});
  154.     };
  155.  
  156. /************************************************************************/
  157.  
  158. var    n    [8];
  159. var    m    [8];
  160. n:=0;
  161.  
  162. dispoff(!DEBUG);
  163. command({del }|TEMP2|{_moptxf.tmp});
  164. command({txf -lcx }|UP2|{_FORUM.CTL > }|TEMP2|{_moptxf.tmp});
  165. dispoff({No});
  166. case(@filechk(TEMP2|{_moptxf.tmp}),
  167.     {Yes},{m:=@tail(@getchar(@read(TEMP2|{_moptxf.tmp}),1,10),{ })},
  168.     {No},{m:=0});
  169.  
  170. loop    ({
  171.     n:=n+1;
  172.     case(n>m,
  173.         {Yes},{im({No})},
  174.         {No},
  175.         {
  176.         %l1    @read(UP2|{_FORUM.CTL},n,1);
  177.         FNYUKAI(@tail(l1,{forum=},{;}),
  178.             @tail(l1,{handle=},{\n}),
  179.             @tail(l1,{boadno=},{;}),
  180.             @tail(l1,{mesno=},{;}),
  181.             @tail(l1,{rtno=},{;}));
  182.         im({Yes});
  183.         });
  184.     });
  185.  
  186. dispoff(!DEBUG);
  187. command({del }|UP2|{_FORUM.BAK});
  188. command({rename }|UP2|{_FORUM.CTL _FORUM.BAK});
  189. dispoff({No});
  190.